home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 40
/
Amiga Format CD40 (1999-05-11)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-06].iso
/
-seriously_amiga-
/
wb
/
pipecon
/
pipecon.doc
< prev
next >
Wrap
Text File
|
1999-03-24
|
17KB
|
321 lines
$Ver PipeCon Documentation 1.5 (17/02/99) Ron Hackett FreeWare
Executable Version at last documentation update V1.62 (03/01/99)
INTRODUCTION:
The perpose of this program was oridginally to have a more useful alternative
to the usual Boot Screen utility. You know how those Pee See things used to
boot before W95, screaming through all the output from the execution of
CONFIG.SYS and AUTOEXEC. Well we could do that on the good ol' Amiga by
simply removing all the `> Nil:' bits but nowerdays if anything goes out to
the console IPrefs gets most irate because you have opened a window on an ECS
screen and it can't bump the chipset into 32-bit AGA.
CONCEPTION:
This is the same problem on W95 machines where all you get to see is the W95
logo and that pants colour cycling bar at the bottom. Getting irate at this
on my PC and harping back to the days of my Amstrad XT booting DOS 3.2 where
I knew exactly what was going on, I thought 'Hummm, can't see this stuff on
the Amiga any more either, and that has annoied me before now.'
I actually find that kind of junk useful, cos I can see what commands are
takeing up the most time in my boot sequence and improve them (maby?) and the
whole thing usually freezes for a while if it's going to crash, giving me the
oppertunity to at least see just how far it definatly DID get through the
boot proceedure.
I can't do much about the W95 problem, and that's my own fault for trying to
use such a pants OS.
W95 side:-
If you're intereseted you can see the AUTOEXEC.BAT file by DELeting the
LOGO.SYS file in the root directory of your boot partition, but the only
way to see CONFIG.SYS without Shif-F8ing the boot and acknowleging every
line, as far as I can tell, is to edit MSDOS.SYS with the line
SPLASH=FALSE. (Make sure it is your MSDOS.SYS not MSDOS.DOS renamed!)
Note the Hidden System nature of the files protection bits. The PC
equivelent of PROTECT is ATTRIB (Attributes) and you need + and - rhs/a
instead of ADD and SUB rwedpa(h). Attrib won't set subdirectory attributes
(grumble) you need Windoze or Norton/PC Tools etc. for that!?
To get your PC to boot into DOS under W95 with NO Windoze overheads, get
hold of 4DOS or an old Norton NDOS copy and add the line SHELL=C:\4DOS or
wherever you have your alternative CLI. If you stick this under a menu
selection and have an IF on the %CONFIG% Environment variable in your
AUTOEXEC.BAT you can select DOS or W95 at boot and not have to boot Windoze
in order to re-boot in DOS mode (nice one MS >:-( ). DOS games love this
method and you can get QEMM or whatever to bump up your RAM areas :-). 4DOS
is especially recomended for Amiga DOS / Unix fans. It makes PC DOS so much
more useable! (More like Amiga DOS.)
It also uses 286 XMS swap files to keep the CLIs uasge of conventional
memory down! :-)
If you don't have any of these (NDOS.COM or 4DOS.COM) Then you can get by
for a while by setting SHELL=SINGLE in the CONFIG.SYS to stop DOS 7.x going
into W95 right away. But it dose insist you press escape to get out of it.
Again in MSDOS.SYS you can make W95 boot DOS as default shell by adding
BOOTGUI=FALSE. This is perminant and you will have to add the Win command
to your AUTOEXEC.BAT file like Win 3.xx! (If you really want it!)
You'll have to mess adout with the Registry DBLSPACE.INIs and MSDOS.SYS
to stop all the 16bit DOS stubs going in for EMM386, HIMEM, IFSHLP and
DRV/DBLSPACE drivers beaing added to any CONFIG.SYS that dosn't contain
alternatives. FE IFSHLP is onley useful in a WinDOS shell (IYKWIM) it adds
extended filenames! (Basiclly)
Back to the problem:-
What I need (I thought) is some kind of console on a screen other than the
public Workbench screen. Well I tried to open a Public screen and place the
Shell Con onto that, and it really didn't work all that well. I thought of
shoving all this info out to a file that I could look at later, but then that
dosn't make booting any more interesting, and if I KNOW the machine is going
to crash I'd really rather minimise the amount of HDD work it's doing at the
time. I tried to get this program to work with a PIPE: stream but then I get
no sensible results from LOF, not even 'Yes there is still information in
the buffer for you.' actually I now realize I should have been using LOC not
LOF for some wierd reason (Well, it's a buffer isn't it!).
Eventually I gave up on all of that, miscarrages asside, PipeCon was finaly
born.
WHAT DOSE IT DO AND HOW?:
It works on three fixed files in RAM: - Con,Note and Exit. Infact it dosn't
matter what you put in Exit as soon as PipeCon sees it, it will quit and
remove all three files. Or any of them that have been created and are not
locked or protected (see problems).
You don't even need to use the exit file since 1.1 as you can now issue a
BREAK to PipeCon provided you know it's process number, (2?) You may like to
look up BreakName on the Aminet! The 'exit' file remains for compatability.
If no-one wants it, it may go in version 2.
The files are expected in RAM: because if your machine crashes no damage
will have been done. (ie validation errors would probably occure, this may
mean just a slow boot next time but it may be real BAD, in the non-80's MJ
sence! :-<)
Lines read from note will come up in the Highlight colour (Currently Red?
v1.4 May still change) This means you can (as do I) redirect comments from
ECHOs out to the note file whilst all other StdIO is sent to Con, or you
could send StdErr to Note or (and this seems a really neat idea to me) you
could send the output from your fave monitor program (SnoopDOS say) to it.
Reasently I have used PipeCon to send the startup output from ADoom or
AmigaDoom to it so it looks more professional and a bit more like Doom on
the PC. Troble is they both send the AHI sound setup information to the Con:
device in a manner not via the 'StdIO', It may be 'StdErr' I haven't checked.
Since 1.5 it has aquired a percentage bar. This wonderful feature is
implemented upon the second use by means of timing the first and storing
that time in s:/PipeConTime and working the percentage bar as a
pecentage of the last use. It's not completely accurate but it gives you
a fair idea how much longer you have to wait.
DISCLAIMER:
I (the author of code and documentation of PipeCon) hear by declare that this
program may and/or may not work under any cercumstance, and may cause
irepairable damage whenever it chooses to any Hardware, Software and/or Data,
on any system whenever you or anyone else runs it and sometimes when you/they
DON'T ;-).
It may also cause any level of physical damage to any individual
who posesses it (or who dosen't) ranging from a slight twinge in the back of
the neck (OOoo I think I can feel one now) to a sudden and very messy death!
The Documentation provided may be extrainious, erronious, insulting,
irrelevent, offencive, illedgable, incomprehendable, unintellidgable, inane,
inadiquate, exasabating, infuriating, blasfimus, questionable, ponderable,
pompus, prattle and/or `quite interesting and a really good read!'
(preferably in a Birmingham accent) and quite honestly I don't care!
The author welomes all to enjoy this software and partake in the
consiquences of executing the program, or reading the documentation, in this
or any other file in the archive, or failier to read/run, disinterest in, or
whilful desision against, so doing. But regrets that he cannot be held
responsible for any of the above actions or consiquneces or any others not
mentioned.
In other words I works for me and if it don't for you that's tough, the only
thing I may (or may NOT) do if you come running to me, is rewrite the thing
with a view to removing any bugs!
P.S. This is light humoured but not a joke! Do what you like with it but it
it and/or you do something you didn't whant or later find undesireable I
entitle you to quietly hate me and no further. Go ahead hate me, you won't be
the first, and the chances that you'll be the last are slim. Just don't tell
me about it unless all it would take to apeese you is a bug fix! And I can't
garentee that!
BUGS:
Oh, ho ho ho, yes. Bound to be... Zillions... Yes... Sorry? What are they?
... Err... Bugger knows. I just play tested the thing until it stoped moaning
at me that there was a DOS failier #33 and returning 300 at me or reseting my
machine. Well I do know that it still hates IPrefs, and advise you to stick
that way down in the list and quit this before running it. Of course if you
like you can reopen it if you don't want to move IPrefs. I did for a while.
It will get covered over as soon as Workbench opens up and you'll miss the
lovely fade so I should quit some time before that. See future in
'PipeCon.History'.(<<<No longer the case (1.4) but keep the wait if you
need input focus restored to the last opened window.)
Also note that if you close and re-open for IPrefs you will loose any sence
from the percentage bar! You could try swapping a couple of prefs files in
between!? (see how enginious I am?) I'm not actually sure if it still plays
up with IPrefs infact, but I have never had a reason to move it from just
before LoadWB.
This is a Basic program with NO OS calls what-so-ever (He lies. Well there
weren't till V1.6). I didn't even plan it's development (Until V1.2 ish) just
kept testing until it seemed to work. It was a playtime exersise that terned
out quite well. If anyone can tell me a legal OS call to find out how much I
can read from a PIPE: stream then please let me know. I just kept getting that
there were some 37522 bytes or so,(Not quite 32K) even if the stream hadn't
been created yet! I will try a LOC check some time. (when I get round to it.)
It still dosen't try to keep the Workbench screen closed during operation
and I'm still using WBClose at periods where this can't be helped. But I
will get round to doing this at some stage. I know how... Honest! It just
dosen't fit with the precarious nature of V1.x of this program.
FIXED BUGS: (Also see PipeCon.History)
V1.0 didn't handle tab characters at all! It just produced a character 27,
but a little division and modulo arithmatic fixed that. Only partially in
V1.1 and then a typeo was discovered that sorted it properly in V1.2.
V1.4 Fixed a bug that allowed the errorhandler to catch its self if it
produced an error in the clean up routine. Which is common as this involves
deleting the temporary files. However this is achieved by turning off the
error cheching after the first error is caught! This should be fixed soon...
I hope! The correct method is to have a specific error handeling routine for
the clean up code that reports it the clean up failes and just quits. For
completeness it should attempt to recover and finnish the clean up skipping
the problem section. (or the file that is locked or protected. See PROBLEMS)
V1.6 fixed planar update flicker with WaitTOF()
V1.61 fixed WaitTOF() speed reduction with WaitBOVP()
V1.62 fixed all user intervention except <Ctrl>C Break with WFLG_RMBTRAP so
no move blank menu bar holding up the task when you hold the Right mouse
button!
PROBLEMS and WORKAROUNDS:
(Not exactly bugs, just unavoidable, undesireable features)
Yes I've had a fair few along the way and most have been resolved by
fiddeling with my startup-sequence file(s). And mine were wierd and
wonderful to begin with. (Ask Phil(see history/future plans)) To start with
I had trouble getting PipeCon to not get overlayed by workbench on the
opening of IPrefs... So I moved IPrefs down to just before running Workbench.
This shouldn't be a problem now because a side effect of the percentage bar is
that (beaing situated on a different window) the PipeCon Screen will be pulled
to the front each time it is updated. (EVEN when fading out) Then I had
problems with it forceing it's self to the front when I needed to input my
user ID and password. (B*sterd!) so I shifted that to after PipeCon had
closed. I hope to add a method of suspending updates during such periods.
The thing cannot close down if one of the files is locked. Causes of this
can be:-
Some program (eg. ARQ... maby other) has opened the * (default stream) as
a file and refuse to close it 'til it quits... and never quits! (Is this
my fault!!?) Don't...
Run >> Ram:Con ARQ >> RAM:Con
Instead...
Run >> Ram:Con ARQ >Nil:
MuFS has logout'ed PipeCon so it no longer ownes the files or logout'ed
CLI(1) and it no longer ownes the files or basicly the CLI making the
output is not owned by the same user as PipeCon. There are ways of
sorting this but you need to know who ownes each task and work from
there. Oh, yes... And you need to be fairly intellegent (digitally) but
if you want to use MuFS or PipeCon let alone BOTH you'd have to be. ;-)
For some strange reason you decided to Write or Delete PROTECT one of the
files during startup... Prat! DON'T DO THIS. And why would you want to?
For some strange reason you decided to LOCK the RAM: drive during
PipeCons' close proceedure. Again, Prat! Though I can see advantages to
this they arn't worth it. Unlock check the files have gone and
re-lock! (You know how to use Lock so you should know about IF EXISTS
and SKIP. Remember the BACK switch, I know It's not documented in the
3.0 DOS manual with the A4000, If you don't have an older AmigaDOS
manual get hold of Help or even a decent version of Man! TOTD)
THE AUTHOR:
My Name is Ron Hackett.
You can leave a message with my folks on 01 326 311 099 UK or My father at
work on 01 326 373 124 UK, and you can even snail mail me at:-
12 Mount Pleasent,
Golden Bank,
Falmouth,
Cornwall,
UK.
TR11 5BW.
E-Mail was possible but has since been denied. :~-{ This is part of the
reason for the delay of the release of this software.
I'm not usually this casual a programmer and I don't want any possible
future employers to get hold of this and think `what a joke coder this Ron
chap is'. But it was fun to do and may be at least as much use to someone
else as it is for me. BTW are there any other HBasic2 coders out there or am
I the only one using this wonderful Basic language. Really it may be a bit
of a shite to get all the OS calls into a Basic program but then once you
have a library of some useful routines you need never worry again,
encapsulation and information hideing is great and you can bet you arse that
it's more reliable than Bl*tz or AM*S.
Other FreeWare by this author:-
ForcePal A simple palette forcing utility which works from an ASCII
prefs file.
SNR Fast and flexible search and replace / paramitable patch
program. Works from DOS and comes with a script to convert a
directory stricture into Amiga Guide format allowing links to
archive listings or extraction, Image viewing etc. Great for
local Aminet Mirrors. Still in Beta stages should be released
Summer '98.
RonFonts Not very interesting except NeatNThin which will allow you to
read this on a Pal screen and get all the characters in. It's
NP and I use it to do my coding and the 9 point for Shell
stuff but I do have a DblPal monitor.
Shareware by the same author:-
TextAdventure <<Working title, not yet at public release. Should allow easy
creation of GTAs for multi-players in an old/MUD style with
vector based graphics real time AI NPCs etc. All OS
Multitasking friendly, compatible with all screen modes (and
I hope graphics cards).
Not even Beta testing yet, anyone who wants to be on the Beta
testing team should contact me.
ARDBase An Amiga custom Relational Database program, should support
some SQL, though this really isn't my field. Still in the
Design stages I'm afraid, SQL coders and Database managers
interested in giving advice on style and structure or indeed
other desires are welcome to contact me. I could really do
with some Markett Research on this one. I just know I have
never seen Amiga programs which meet my requirements. They
all seem to be flat file.
Give me a card/call/mail guys, love to hear from you!
_____
/ /|
/ \ / |
/ \/ *
/ \
-----------------
() ___ ___ )(
)( o _ o ()
() - )(
)( (_) ()
)() _ _ )()
)()( \___/ ()()
()()/\ /\)()(
___)( \ / ()___ .______________________
( ()\ \_/ /)( ) __ /
| | )( \ |0| / () | | |_) . / .
| \ ()/|\/|\/|/@ / . /
/ |/
----------------o--.
/|
/ !
.
THANX:
have to go to...
(Dreadnaught Diddy) Dave
(Frix) Phil
(Dr. Flay) Shane
For bug testing and moral support.